package it.azienda.stampe.view;

import it.azienda.framework.utilita.Utilita;
import it.azienda.framework.view.Dettaglio;
import it.azienda.managerworkstandard.modello.BeanCliente;
import it.azienda.stampe.parametri.BeanStampaGiacenzeMagazzino;
import it.azienda.stampe.parametri.BeanStampaGiacenzeMagazzino;
import java.util.GregorianCalendar;
import java.util.HashMap;
import javax.faces.component.html.HtmlForm;
import javax.faces.context.FacesContext;

public class DettaglioStampaGiacenzeMagazzino extends Dettaglio {
    
    private HtmlForm form = new HtmlForm();
    private BeanStampaGiacenzeMagazzino beanStampaGiacenzeMagazzino;
    
    public void setBeanStampaGiacenzeMagazzino(BeanStampaGiacenzeMagazzino beanStampaGiacenzeMagazzino) {
        setObj(beanStampaGiacenzeMagazzino);
        this.beanStampaGiacenzeMagazzino = beanStampaGiacenzeMagazzino;
    }
    
    public BeanStampaGiacenzeMagazzino getBeanStampaGiacenzeMagazzino(){
        return (BeanStampaGiacenzeMagazzino)getObj();
    }
    
    public HtmlForm getForm() {
        form = (HtmlForm) Utilita.getSession().getAttribute("form");
        if (form == null) {
            form = new HtmlForm();
        }
        Utilita.getSession().removeAttribute("form");
        return form;
    }
    
    public void setForm(HtmlForm form) {
        setFormObject(form);
        this.form = form;
        Utilita.getSession().setAttribute("form",form);
    }
    
    public void stampaJasper() {
        FacesContext ctx = FacesContext.getCurrentInstance();
        BeanStampaGiacenzeMagazzino beanStampa = (BeanStampaGiacenzeMagazzino) ctx.getApplication().getVariableResolver().resolveVariable(ctx,"beanStampaGiacenzeMagazzino");
        try{
            HashMap parametri = new HashMap();           
            
            //dataFine
            GregorianCalendar calendario = new GregorianCalendar(beanStampa.getAnno().intValue(), beanStampa.getMese().intValue() - 1, 1);
            int ultimoGiornoMese = calendario.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
            calendario = new GregorianCalendar(beanStampa.getAnno().intValue(), beanStampa.getMese().intValue() - 1, ultimoGiornoMese);
            java.util.Date dataFine = calendario.getTime();
            
            parametri.put("dataA",dataFine);
            parametri.put("periodo",beanStampa.getMese().intValue()+"/"+beanStampa.getAnno());
            beanStampa.setParametriStampa(parametri);
            super.setBeanStampa(beanStampa);
            super.stampaJasper();
        }catch(Exception ex){
        }finally {
            Utilita.getRequest().setAttribute("beanStampaGiacenzeMagazzino",beanStampa);
        }
    }
    
}